function Face = CalcStruct2DFace(mesh)
nDim = 2;
% nFace : the number of all face on current block.
nFace = mesh.iDimensions(1)*(mesh.iDimensions(2)-1) + ...
    mesh.iDimensions(2)*(mesh.iDimensions(1)-1);

nNode = size(mesh.coordinate,1);
nodeID = (1:nNode)';
nodeijkID = InitFortranArray3D(mesh.iDimensions,nodeID);

Face = zeros(nFace,(nDim-1)*2);

iFace = 1;
for k = 1:mesh.iDimensions(3)
    for j = 1:mesh.iDimensions(2)
        for i = 1:mesh.iDimensions(1)
            
            if(i == mesh.iDimensions(1) && j == mesh.iDimensions(2))
                iFace = iFace + 0;
            elseif(i == mesh.iDimensions(1))
                Face(iFace,:) = [nodeijkID(i,j,k) nodeijkID(i,j+1,k)];
                iFace = iFace + 1;
            elseif(j == mesh.iDimensions(2))
                Face(iFace,:) = [nodeijkID(i,j,k) nodeijkID(i+1,j,k)];
                iFace = iFace + 1;
            else
                Face(iFace,:) = [nodeijkID(i,j,k) nodeijkID(i+1,j,k)];
                Face(iFace+1,:) = [nodeijkID(i,j,k) nodeijkID(i,j+1,k)];
                iFace = iFace + 2;
            end
            
        end
    end
end